Aalisarneq piniarnerlu
Aalisarneq
FIX008_raw <-
statgl_url("FIX008", lang = language) %>%
statgl_fetch(
time = px_top(1),
nation = "GRL",
species = px_all(),
unit = px_all(),
.col_code = TRUE
) %>%
as_tibble()
FIX008 <-
FIX008_raw %>%
select(time, unit, species, value) %>%
filter(value != 0) %>%
spread(unit, value)
FIX008 %>%
select(-1) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = FIX008[["time"]] %>% table())
|
1.000 kr.
|
Tonsit
|
2023
|
Ammassak
|
199.338
|
46.431
|
Ammassassuaq
|
45.561
|
7.334
|
Avaleraasartooq
|
285.751
|
29.090
|
Kinguppak
|
1.942.454
|
61.914
|
Misaqqarnaq
|
9.083
|
665
|
Nataarnaq
|
229
|
9
|
Pisarisuukkat
|
11.651
|
872
|
Qaleralik
|
351.010
|
12.430
|
Suluppaagaq
|
25.201
|
2.576
|
Saarullernaq
|
72.669
|
25.988
|
Saarullik
|
524.421
|
29.190
|
Saarulliusaaq
|
4.778
|
410
|
Uiluik
|
11.329
|
629
|
Aalisakkat allat
|
1.778
|
128
|
Se Statistikbankens tabel: FIX008
Piniarneq
FIX004_raw <-
statgl_url("FIX004", lang = language) %>%
statgl_fetch(
time = px_all(),
species = px_all(),
unit = px_all(),
.col_code = TRUE
) %>%
as_tibble()
FIX004 <-
FIX004_raw %>%
filter(
time == max(time),
value != 0
) %>%
spread(unit, value)
FIX004 %>%
select(-1) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = FIX004[["time"]] %>% table())
|
1.000 kr.
|
Ton
|
2022
|
Miluumasut nunamiutat allat
|
1.058
|
12,42
|
Sava
|
1.699
|
47,16
|
Savaaraq
|
16.057
|
292,49
|
Tuttu
|
376
|
4,65
|
Se Statistikbankens tabel: FIX004
FIXBEVIS_raw <-
statgl_url("FIXBEVIS", lang = language) %>%
statgl_fetch(
"geographic location" = px_all(),
sex = px_all(),
time = px_all(),
.col_code = TRUE
) %>%
as_tibble()
FIXBEVIS <-
FIXBEVIS_raw %>%
filter(time == max(time)) %>%
spread(`geographic location`, value)
FIXBEVIS %>%
select(-time) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = FIXBEVIS[["time"]] %>% table())
|
sex
|
Illoqarfik
|
Nunaqarfik
|
2022
|
Inuussutissarsiutigalugu piniartut
|
Angutit
|
1.037
|
966
|
Inuussutissarsiutigalugu piniartut
|
Arnat
|
11
|
9
|
Sunngiffimmi pinialuttartut
|
Angutit
|
3.533
|
478
|
Sunngiffimmi pinialuttartut
|
Arnat
|
947
|
163
|
Se Statistikbankens tabel: FIXBEVIS
Nunalerineq
FIXHDYR_raw <-
statgl_url("FIXHDYR", lang = language) %>%
statgl_fetch(
species = px_all(),
time = px_all(),
.col_code = TRUE
) %>%
as_tibble()
FIXHDYR <-
FIXHDYR_raw %>%
filter(time == max(time)) %>%
filter(value != "NA")
if(language == "da"){
table <- FIXHDYR %>% rename("Antal" = value)
} else if(language == "kl"){
table <- FIXHDYR %>% rename("Qassiuneri" = value)
} else {
table <- FIXHDYR %>% rename("Pieces" = value)
}
table %>%
select(-time) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = FIXHDYR[["time"]] %>% table())
|
Qassiuneri
|
2021
|
Savat
|
18.184
|
Tuttut nujuitsut
|
3.000
|
Nersussuit
|
356
|
Hiistit
|
146
|
Kukkukuut
|
219
|
Se Statistikbankens tabel: FIXHDYR
Akit naleqqersuutaat
FIX009_raw <-
statgl_url("FIX009", lang = language) %>%
statgl_fetch(
time = px_all(),
quarter = 4,
species = c(3, 7, 10),
.col_code = TRUE
) %>%
as_tibble()
FIX009 <-
FIX009_raw %>%
filter(value != "NA") %>%
spread(time, value)
FIX009 %>%
select(-quarter) %>%
rename(" " = 1) %>%
statgl_table() %>%
pack_rows(index = FIX009[["quarter"]] %>% table())
|
2010
|
2011
|
2012
|
2013
|
2014
|
2015
|
2016
|
2017
|
2018
|
2019
|
2020
|
2021
|
2022
|
Agguaq.
|
Kinguppak, katillugit
|
100
|
115
|
145
|
147,5
|
166
|
202
|
202
|
196
|
207
|
196
|
169
|
166
|
188
|
Qaleralik, katillugit
|
100
|
116
|
127
|
121,7
|
123
|
154
|
149
|
151
|
154
|
148
|
134
|
132
|
161
|
Saarullik, Katillugit
|
100
|
118
|
115
|
90,3
|
103
|
137
|
135
|
144
|
165
|
186
|
162
|
163
|
228
|
Se Statistikbankens tabel: FIX009
Immap pisuusutaanik atuineq
FIX020_raw <-
statgl_url("FIX020", lang = language) %>%
statgl_fetch(
species = px_all(),
form = px_all(),
time = px_all(),
.col_code = TRUE
) %>%
as_tibble()
FIX020 <-
FIX020_raw %>%
filter(time == max(time)) %>%
spread(form, value)
FIX020 %>%
select(-time) %>%
rename(" " = 1) %>%
statgl_table(replace_0s = TRUE) %>%
pack_rows(index = FIX020[["time"]] %>% table())
|
Pisassat
|
Pisat
|
Siunnersuut
|
2021
|
Arfivik
|
2
|
0
|
2
|
Nanoq
|
156
|
137
|
146
|
Qilagugaq qaqortaq
|
294
|
148
|
302
|
Qilalugaq qernertaq
|
499
|
419
|
419
|
Qipoqqaq
|
10
|
7
|
10
|
Tikaagullik
|
184
|
198
|
184
|
Tikaagulliusaaq
|
19
|
2
|
19
|
Aaveq
|
170
|
127
|
189
|
Se Statistikbankens tabel: FIX020
Sidst opdateret: 17. april
2024
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkRkkkdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkRkkkc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMDgiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KYGBge3IgRklYMDA4fQ0KDQpGSVgwMDhfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVgwMDgiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JQ0KICBzdGF0Z2xfZmV0Y2goDQogICAgdGltZSAgICAgID0gcHhfdG9wKDEpLA0KICAgIG5hdGlvbiAgICA9ICJHUkwiLA0KICAgIHNwZWNpZXMgICA9IHB4X2FsbCgpLA0KICAgIHVuaXQgICAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KRklYMDA4IDwtIA0KICBGSVgwMDhfcmF3ICU+JSANCiAgc2VsZWN0KHRpbWUsIHVuaXQsIHNwZWNpZXMsIHZhbHVlKSAlPiUgDQogIGZpbHRlcih2YWx1ZSAhPSAwKSAlPiUgDQogIHNwcmVhZCh1bml0LCB2YWx1ZSkNCg0KRklYMDA4ICU+JSANCiAgc2VsZWN0KC0xKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gRklYMDA4W1sidGltZSJdXSAlPiUgdGFibGUoKSkNCiAgDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYMDA4IilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8zZTY3ZjAyZS1mOGFmLTQ4YWQtYjA0NS1jOGQ3ODU5N2IwOTIiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjJbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAyOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIkZJWDAwNCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIEZJWDAwNH0NCg0KRklYMDA0X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiRklYMDA0IiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUgDQogIHN0YXRnbF9mZXRjaCgNCiAgICB0aW1lICAgICAgPSBweF9hbGwoKSwNCiAgICBzcGVjaWVzICAgPSBweF9hbGwoKSwNCiAgICB1bml0ICAgICAgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpGSVgwMDQgPC0gDQogIEZJWDAwNF9yYXcgJT4lIA0KICBmaWx0ZXIoDQogICAgdGltZSA9PSBtYXgodGltZSksDQogICAgdmFsdWUgIT0gMA0KICAgICkgJT4lIA0KICBzcHJlYWQodW5pdCwgdmFsdWUpDQoNCkZJWDAwNCAlPiUgDQogIHNlbGVjdCgtMSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAwNFtbInRpbWUiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJGSVgwMDQiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzUwOWFjY2VmLTIwNmMtNDI4MS04M2JkLWFhYWU5M2I3NjNkNiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDM6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiRklYQkVWSVMiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBGSVhCRVZJU30NCg0KRklYQkVWSVNfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVhCRVZJUyIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgImdlb2dyYXBoaWMgbG9jYXRpb24iID0gcHhfYWxsKCksDQogICAgc2V4ICAgICAgICAgICAgICAgICAgID0gcHhfYWxsKCksDQogICAgdGltZSAgICAgICAgICAgICAgICAgID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlICAgICAgICAgICAgID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KRklYQkVWSVMgPC0gDQogIEZJWEJFVklTX3JhdyAlPiUgDQogIGZpbHRlcih0aW1lID09IG1heCh0aW1lKSkgJT4lIA0KICBzcHJlYWQoYGdlb2dyYXBoaWMgbG9jYXRpb25gLCB2YWx1ZSkNCg0KDQpGSVhCRVZJUyAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWEJFVklTW1sidGltZSJdXSAlPiUgdGFibGUoKSkNCg0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYQkVWSVMiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzMzZjA3NTdhLTM0NGItNDhjMC1hZGZjLTAxMmJkMTk1MDAxMiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+IA0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjNbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNDogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVhIRFlSIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgRklYSERZUn0NCg0KRklYSERZUl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkZJWEhEWVIiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JSANCiAgc3RhdGdsX2ZldGNoKA0KICAgIHNwZWNpZXMgICA9IHB4X2FsbCgpLA0KICAgIHRpbWUgICAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KRklYSERZUiA8LQ0KICBGSVhIRFlSX3JhdyAlPiUgDQogIGZpbHRlcih0aW1lID09IG1heCh0aW1lKSkgJT4lIA0KICBmaWx0ZXIodmFsdWUgIT0gIk5BIikNCg0KDQoNCmlmKGxhbmd1YWdlID09ICJkYSIpew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIkFudGFsIiA9IHZhbHVlKQ0KfSBlbHNlIGlmKGxhbmd1YWdlID09ICJrbCIpew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIlFhc3NpdW5lcmkiID0gdmFsdWUpDQp9IGVsc2Ugew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIlBpZWNlcyIgPSB2YWx1ZSkNCn0NCg0KDQp0YWJsZSAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWEhEWVJbWyJ0aW1lIl1dICU+JSB0YWJsZSgpKQ0KICANCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJGSVhIRFlSIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8yNzgxN2ViOC1jYzNiLTQwZDQtYmY2MC0zY2U4ZTgwZTBlZjMiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMDkiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRUQ0fQ0KDQpGSVgwMDlfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVgwMDkiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JSANCiAgc3RhdGdsX2ZldGNoKA0KICAgIHRpbWUgICAgICA9IHB4X2FsbCgpLA0KICAgIHF1YXJ0ZXIgICA9IDQsDQogICAgc3BlY2llcyAgID0gYygzLCA3LCAxMCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KDQoNCkZJWDAwOSA8LSANCiAgRklYMDA5X3JhdyAlPiUgDQogIGZpbHRlcih2YWx1ZSAhPSAiTkEiKSAlPiUgDQogIHNwcmVhZCh0aW1lLCB2YWx1ZSkNCg0KDQoNCkZJWDAwOSAlPiUgDQogIHNlbGVjdCgtcXVhcnRlcikgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAwOVtbInF1YXJ0ZXIiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkZJWDAwOSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvYjIzNzk3NmItM2E0MS00NDEyLWI4MTUtZTU0ZmMzMTBiYzg5Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjVbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNjogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMjAiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBGSVgwMjB9DQoNCkZJWDAyMF9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkZJWDAyMCIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgc3BlY2llcyA9IHB4X2FsbCgpLA0KICAgIGZvcm0gPSBweF9hbGwoKSwNCiAgICB0aW1lID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KRklYMDIwIDwtIA0KICBGSVgwMjBfcmF3ICU+JSANCiAgZmlsdGVyKHRpbWUgPT0gbWF4KHRpbWUpKSAlPiUgDQogIHNwcmVhZChmb3JtLCB2YWx1ZSkNCg0KDQpGSVgwMjAgJT4lIA0KICBzZWxlY3QoLXRpbWUpICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKHJlcGxhY2VfMHMgPSBUUlVFKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAyMFtbInRpbWUiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYMDIwIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS9lNjQzZWE5Ny1mMWEzLTQ2ODctOTY0OC00MTNiZmFkNTQwZDgiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPiANCg0KDQoNCjxociBzdHlsZT0iYm9yZGVyOjFweCByaWRnZSBsaWdodGdyYXkiPiA8L2hyPg0KPGNlbnRlcj4gPHNwYW4gc3R5bGU9J2NvbG9yOiNEM0QzRDM7IGZvbnQtc2l6ZTo5MCU7Jz4gYHIgcGFzdGUodHh0JHVwZGF0ZVtsYW5ndWFnZV0sIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQuICVCICVZIikpYCA8L3NwYW4+IDwvY2VudGVyPg0KDQoNCg0KDQo8c2NyaXB0Pg0KdmFyIGFjYyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImFjY29yZGlvbiIpOw0KdmFyIGk7DQoNCmZvciAoaSA9IDA7IGkgPCBhY2MubGVuZ3RoOyBpKyspIHsNCiAgYWNjW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7DQogICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiKTsNCiAgICB2YXIgcGFuZWwgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsNCiAgICBpZiAocGFuZWwuc3R5bGUubWF4SGVpZ2h0KSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBudWxsOw0KICAgIH0gZWxzZSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBwYW5lbC5zY3JvbGxIZWlnaHQgKyAicHgiOw0KICAgIH0gDQogIH0pOw0KfQ0KPC9zY3JpcHQ+DQoNCg0K